//========================================================================
//文件名称：light.h
//功能概要：小灯构件头文件
//芯片类型：STC89C52
//版权所有：HCIT-SMh
//版本更新：2020-02-21  V1.0
//========================================================================
#ifndef _LIGHT_H     //防止重复定义（开头)
#define _LIGHT_H

//1.文件包含
#include "common.h"    //包含公共要素头文件
#include "gpio.h"

//2. 宏定义
//(1)小灯构件接口引脚宏定义
#define LIGHT1  (PORT_1|0)      //灯1使用的端口/引脚
#define LIGHT2  (PORT_1|1)      //灯2使用的端口/引脚
#define LIGHT3  (PORT_1|2)      //灯3使用的端口/引脚
#define LIGHT4  (PORT_1|3)      //灯4使用的端口/引脚

#define LIGHTS  (PORT_1)        //流水灯(8个小灯)使用的端口

//(2)小灯状态宏定义（灯亮、灯暗对应的物理电平由硬件接法决定）
#define LIGHT_ON      0    //灯亮
#define LIGHT_OFF     1    //灯灭

//3.对外接口函数声明
//========================================================================
//函数名称：light_control
//函数功能：控制小灯的状态
//函数参数：port_pin：小灯使用的端口引脚号，可使用宏定义LIGHT1～LIGHT4
//          state：小灯的状态，可使用宏定义LIGHT_ON、LIGHT_OFF
//函数返回：无
//========================================================================
void light_control(uint_8 port_pin, bit state);

//========================================================================
//函数名称：light_change
//函数功能：改变小灯的状态
//函数参数：port_pin：小灯使用的端口引脚号，可使用宏定义LIGHT1～LIGHT4
//函数返回：无
//========================================================================
void light_change(uint_8 port_pin);

//========================================================================
//函数名称：lights_control
//函数功能：控制流水灯的状态
//函数参数：lights：流水灯使用的端口号，可使用宏定义LIGHTS
//          state：流水灯的状态
//函数返回：无
//========================================================================
void lights_control(uint_8 port, uint_8 state);


#endif          //防止重复定义（结尾)
